package com.pearadmin.pro.modules.paper.service;


import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.pearadmin.pro.modules.examUtils.PagingReqDTO;
import com.pearadmin.pro.modules.paper.dto.request.UserExamReqDTO;
import com.pearadmin.pro.modules.paper.dto.response.UserExamRespDTO;
import com.pearadmin.pro.modules.paper.entity.UserExam;

import java.util.List;

/**
 * 考试记录业务类
 *
 * @author ZhouXingYun
 * @date 2022/5/24 18:00
 */
public interface UserExamService extends IService<UserExam> {

    /**
     * 考试完成后加入成绩
     *
     * @param userId
     * @param examId
     * @param score
     * @param passed
     */
    void joinResult(String userId, String examId, Integer score, boolean passed);


    /**
     * 分页查询数据
     *
     * @param reqDTO
     * @return com.baomidou.mybatisplus.core.metadata.IPage<com.pearadmin.pro.modules.paper.dto.response.UserExamRespDTO>
     * @author ZhouXingYun
     * @date 2022/5/25 8:42
     */
    IPage<UserExamRespDTO> myPaging(PagingReqDTO<UserExamReqDTO> reqDTO);

    void deleteByExam(List<String> ids);

    /**
     * 分页查询数据
     *
     * @param reqDTO
     * @return
     */
    IPage<UserExamRespDTO> paging(PagingReqDTO<UserExamReqDTO> reqDTO);
}
